//
//  STDSAttribStroke.hpp
//  STDSRenderSDKIOS
//
//  Created by 陈学明 on 2023/3/27.
//

#ifndef STDSAttribStroke_hpp
#define STDSAttribStroke_hpp

#include <stdio.h>
#include "STDSAttrib.hpp"
#include <memory>
#include <vector>

using namespace std;

class STDSAttribStroke: public STDSAttrib {
public:
    STDSAttribStroke();
    
    ~STDSAttribStroke() {
        
    }
    
    void draw(std::vector<int> &_idxSize, vector<int>_idxArr, vector<float>_vexArr);
    
    void updateArrayIdx();

    void updateArrayVex();

    void updateArrayClr();

    void setPosVex(int _pos) {
        mPosVex = _pos;
    }

    inline void setPosClr(int _pos) {
        mPosClr = _pos;
    }
protected:
    virtual void _resetDrawFunc() override;
    unsigned int mVAO{0};
    unsigned int mEBO{0};
    unsigned int mVBO{0};
};
#endif /* STDSAttribStroke_hpp */
